/*
 * @Author: Y先森
 * @Date: 2023-04-11 16:15:51
 * @LastEditors: y && 250048395@qq.com
 * @LastEditTime: 2023-05-09 10:59:45
 * @FilePath: \y-website\src\store\modules\app.js
 */
import { getMenuList } from '@/api'
import { ALL_CATEGORY_ITEM } from '@/constants'
export default {
  namespaced: true,
  state: () => ({
    // 当前选中的分类 - 【技术分享】
    currentCraftShareCategory: ALL_CATEGORY_ITEM,
    // 当前选中的分类 - 【灵感创作】
    currentCreationCategory:'',
    // 当前选中的分类 - 【设计展示】
    currentDesignCategory: ALL_CATEGORY_ITEM,
    // 侧边宽度
    asideWidth: '250px',
    // 菜单数据
    menuDate: []
  }),
  mutations: {
    /**
     * 切换选中分类 - 【技术分享】
     */
    currentCraftShareCategory(state, newCategory) {
      state.currentCraftShareCategory = newCategory
    },
    /**
     * 切换选中分类 - 【灵感创作】
     */
    currentCreationCategory(state, newCategory) {
      state.currentCreationCategory = newCategory
    },
    /**
     * 切换选中分类 - 【设计展示】
     */
    currentDesignCategory(state, newCategory) {
      state.currentDesignCategory = newCategory
    },
    /**
     *  展开/缩起侧边
     */
    handleAsideWidth(state) {
      state.asideWidth = state.asideWidth == '250px' ? '100px' : '250px'
    },
    /**
     * 为 menuDate 赋值
     */
    setMenuDate(state, data) {
      state.menuDate = data
    }
  },
  actions: {
    /**
     * 获取 menu 菜单数据,并保存到 vuex 中
     */
    async useMenusData(context) {
      const { menuList } = await getMenuList()
      context.commit('setMenuDate', menuList)
    }
  }
}
